import { app, dialog } from 'electron';
import { autoUpdater } from 'electron-updater';
import Plugin from '@main/plugins/index.ts';

if(process.platform == 'darwin') {
    console.log("mac平台: ", import.meta.env.VITE_MAC_UPDATE_URL + import.meta.env.VITE_UPDATE_VERSION)
    autoUpdater.setFeedURL(import.meta.env.VITE_MAC_UPDATE_URL + import.meta.env.VITE_UPDATE_VERSION);
} else {
    console.log("window平台: ", import.meta.env.VITE_WINDOWS_UPDATE_URL)
    autoUpdater.setFeedURL(import.meta.env.VITE_WINDOWS_UPDATE_URL)
}

// 当可更新时在系统通知栏提示
autoUpdater.checkForUpdatesAndNotify();

// 定时轮询、服务器推送
autoUpdater.checkForUpdates();
// 更新是否可用
autoUpdater.on("update-available", () => {
    console.log("update-available");
    Plugin.getPlugin("logger").info("update-available");
});

// 更新下载进度
autoUpdater.on("update-downloaded", () => {
    console.log("update-downloaded");
    Plugin.getPlugin("logger").info("update-downloaded");
    app.whenReady().then(() => {
        // 提醒用户更新
        const clickId = dialog.showMessageBoxSync({
            type: 'info',
            title: '升级提示',
            message: '已为你升级到最新版，是否立即体验',
            buttons: ['马上升级', '手动重启'],
            cancelId: 1
        });
        if(clickId === 0) {
            autoUpdater.quitAndInstall();
            app.quit();
        }
    })
});

// 更新下载失败
autoUpdater.on("error", (error) => {
    console.log("update-download-error", error);
    Plugin.getPlugin("logger").error("update-download-error", error);
});








